﻿using Innoapps.FileTransfer.Models;

namespace Innoapps.FileTransfer.Providers.Cache
{
    abstract public class Base
    {

        #region Abstract Methods
        /// <summary>
        /// Saves the stream attached to the specified transfer to the cache 
        /// </summary>
        /// <param name="transfer">Transfer containing stream to be saved</param>
        abstract public void Save(Transfer transfer);
        /// <summary>
        /// Loads the stream from the cache the cache into the transfer object 
        /// </summary>
        /// <param name="transfer">Transfer to load stream into</param>
        abstract public void Load(Transfer transfer);
        /// <summary>
        /// Destroys the cache for the specified transfer
        /// </summary>
        /// <param name="transfer">Transfer relating to the cache object to be destroyed</param>
        abstract public void Destroy(Transfer transfer);

        #endregion



    }
}
